/*
//              INTEL CORPORATION PROPRIETARY INFORMATION
//  This software is supplied under the terms of a license  agreement or
//  nondisclosure agreement with Intel Corporation and may not be copied
//  or disclosed except in  accordance  with the terms of that agreement.
//    Copyright (c) 2006-2007 Intel Corporation. All Rights Reserved.
//
*/
#include "umc_defs.h"
#if defined (UMC_ENABLE_DV_VIDEO_ENCODER)

#ifndef __DV_DECOMPRESSOR_DEF_H
#define __DV_DECOMPRESSOR_DEF_H

#include "ippdefs.h"

namespace UMC
{

extern Ipp16s QTableDouble0[];
extern Ipp16s QTableDouble1[];
extern Ipp8s DeZigzagIndex0[];

struct ZoneQuantSteps
{
    Ipp8u m_cArea0;             // (Ipp8u) quantization step for zone 0
    Ipp8u m_cArea1;             // (Ipp8u) quantization step for zone 1
    Ipp8u m_cArea2;             // (Ipp8u) quantization step for zone 2
    Ipp8u m_cArea3;             // (Ipp8u) quantization step for zone 3
};

union QUANT_STEP
{
    ZoneQuantSteps QuantSteps;
    Ipp32u qu_step;

};

extern QUANT_STEP TABLE_QS[];

struct DV_BLOCK
{
    //Block ID data
    Ipp8u id0;
    Ipp8u id1;
    Ipp8u id2;

    Ipp8u staqno;
    Ipp8u data[76];
};

struct DV_SEGMENT
{
    DV_BLOCK m_EncodedMacroBlocks[5];                                      // (DV_BLOCK) compressed DV video segment
};

}//namespace UMC

#endif //__DV_DECOMPRESSOR_DEF_H

#endif //(UMC_ENABLE_DV_VIDEO_ENCODER)
